/**
* Copyright (C) 2022-2023 Timber Chain Cloud (TimberCLD). All Rights Reserved.
* 
* @author: luoweijian
* @email: 807301075@qq..com
* @site: https://www.timbercld.com/
*
* Licensed under the Apache License, Version 2.0 (the 'License');
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
* 
* http://www.apache.org/licenses/LICENSE-2.0
* 
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an 'AS IS' BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
*  limitations under the License.
*/
import { createApp } from 'vue';
// import { createPinia } from 'pinia';
// pinia store
import pinia from '@/stores/index';
import ElementPlus from 'element-plus';
import 'element-plus/dist/index.css';
import '@/styles/index.scss';
import I18n from '@/i18n';
import App from './App.vue';
import router from '@/router/index';
import * as ElementPlusIconsVue from '@element-plus/icons-vue';

const app = createApp(App);

app.config.globalProperties['$icons'] = [];
for (const [key, component] of Object.entries(ElementPlusIconsVue)) {
  app.config.globalProperties['$icons'].push(key);
  app.component(key, component);
}

app.use(router).use(pinia).use(ElementPlus).use(I18n);

app.mount('#app');
